//整数二分模板
//假设目标值在闭区间[l, r]中， 每次将区间长度缩小一半，当l = r时，我们就找到了目标值。
///!!!!注意确定左右边界能不能取到
//当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时，其更新操作是r = mid或者l = mid + 1;，计算mid时不需要加1。
int bsearch_1(int l, int r)
{
    while (l < r)
    {
        int mid = l + r >> 1;
        if (check(mid)) r = mid;
        else l = mid + 1;
    }
    return l;
}
//当我们将区间[l, r]划分成[l, mid - 1]和[mid, r]时，其更新操作是r = mid - 1或者l = mid;，此时为了防止死循环，计算mid时需要加1。
int bsearch_2(int l, int r)
{
    while (l < r)
    {
        int mid = l + r + 1 >> 1;
        if (check(mid)) l = mid;
        else r = mid - 1;
    }
    return l;
}

//实数二分
//给定一个浮点数 n，求它的三次方根。注意，结果保留 6 位小数。
int main()
{
	double n = 0;
	cin >> n;
	double left = -10000;
	double right = 10000;
	while (right-left>1e-8)//比精度多取2位
	{
		double mid = (right - left) / 2 + left;
		if (mid * mid * mid >= n) right = mid;
		else left = mid;
	}
	printf("%lf",left);
	return 0;
}